#!/usr/bin/python
# -*- coding:utf8
import itertools
import numpy




#генерация массива шагов
def gen_A_B(A):
    B=numpy.zeros(len(A))
    x=0
    for el in A:

        B[x]=el[2]-el[1]
        x+=1
    return B




#генерация декартова произведения
def xproduct(args):
   if len(args)==2:
      for i in args[0]:
        for j in args[1]:
           yield [i,j]
   elif len(args)>2:
      for i in args[-1]:
         for j in xproduct(args[0:-1]):
            j.append(i)
            yield j
   else:
       raise Exception

#генерация разбиения на гиперкубы 
def hyper(N1,n,A):
    coord=[]

    for i in xrange(n):
        a=numpy.linspace(A[i][1],A[i][2],N1)
        b=a[0:N1-1]
        coord.append(b)     
    return coord
